0.03/0.11 % Problem : theBenchmark.p : TPTP v0.0.0. Released v0.0.0. 0.10/0.12 % Command : do_cvc5 %s %d 0.11/0.32 % Computer : n002.cluster.edu 0.11/0.32 % Model : x86_64 x86_64 0.11/0.32 % CPU : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz 0.11/0.32 % Memory : 8042.1875MB 0.11/0.32 % OS : Linux 3.10.0-693.el7.x86_64 0.11/0.32 % CPULimit : 1200 0.11/0.32 % WCLimit : 120 0.11/0.32 % DateTime : Tue Jul 13 14:27:03 EDT 2021 0.11/0.32 % CPUTime : 0.17/0.47 %----THF division 0.17/0.48 ------- cvc5-thf casc 28 : /export/starexec/sandbox/benchmark/theBenchmark.p at 120... 0.17/0.48 --- Run --ho-elim --full-saturate-quant at 10... 10.40/10.61 --- Run --ho-elim --no-e-matching --full-saturate-quant at 10... 20.39/20.68 --- Run --ho-elim --no-e-matching --fs-sum --full-saturate-quant at 10... 30.45/30.79 --- Run --ho-elim --finite-model-find --uf-ss=no-minimal at 5... 35.56/35.89 --- Run --no-ho-matching --finite-model-find --uf-ss=no-minimal at 5... 40.65/41.02 --- Run --no-ho-matching --full-saturate-quant --fs-interleave --ho-elim-store-ax at 10... 51.18/51.53 --- Run --no-ho-matching --full-saturate-quant --macros-quant-mode=all at 10... 61.77/62.13 --- Run --ho-elim --full-saturate-quant --fs-interleave at 10... 71.82/72.19 --- Run --no-ho-matching --full-saturate-quant --ho-elim-store-ax at 10... 82.54/82.93 --- Run --ho-elim --no-ho-elim-store-ax --full-saturate-quant... 103.26/103.65 % SZS status Theorem for theBenchmark 103.26/103.66 % SZS output start Proof for theBenchmark 103.26/103.66 (proof 103.26/103.66 (let ((_let_1 (forall ((T type_Mirabelle_typ) (T3 type_Mirabelle_typ)) (=> (= (type_M1006385707scheme T) (type_M1006385707scheme T3)) (= T T3))))) (let ((_let_2 (forall ((S (-> nat type_Mirabelle_typ)) (N2 nat)) (= ((type_M784671311le_typ S) (type_Mirabelle_TVar N2)) (S N2))))) (let ((_let_3 (forall ((T type_Mirabelle_typ)) (= (type_M1050318637scheme (type_M1006385707scheme T)) (type_M49385309le_typ T))))) (let ((_let_4 (forall ((N2 nat)) (= (type_M1006385707scheme (type_Mirabelle_TVar N2)) (type_M876316792e_FVar N2))))) (let ((_let_5 (forall ((S1 (-> nat type_Mirabelle_typ)) (T type_Mirabelle_typ) (S2 (-> nat type_Mirabelle_typ)) (N2 nat)) (=> (= ((type_M784671311le_typ S1) T) ((type_M784671311le_typ S2) T)) (=> ((member_nat N2) (type_M49385309le_typ T)) (= (S1 N2) (S2 N2))))))) (let ((_let_6 (forall ((S (-> nat type_Mirabelle_typ)) (N2 nat)) (= ((type_M1690910139scheme S) (type_M876316792e_FVar N2)) (type_M1006385707scheme (S N2)))))) (let ((_let_7 (type_M876316792e_FVar x))) (let ((_let_8 (not (or (= (s1 n) (s2 n)) (not ((member_nat n) (type_M1050318637scheme _let_7))) (not (= ((type_M1690910139scheme s1) _let_7) ((type_M1690910139scheme s2) _let_7))))))) (let ((_let_9 (ho_490 k_1086 x))) (let ((_let_10 (ho_490 k_1087 x))) (let ((_let_11 (= _let_10 _let_9))) (let ((_let_12 (ho_490 k_489 x))) (let ((_let_13 (ho_501 (ho_1090 k_1089 k_1086) _let_12))) (let ((_let_14 (= _let_9 _let_13))) (let ((_let_15 (ho_501 (ho_1090 k_1089 k_1087) _let_12))) (let ((_let_16 (= _let_10 _let_15))) (let ((_let_17 (= _let_15 _let_13))) (let ((_let_18 (ho_1092 k_1091 _let_9))) (let ((_let_19 (ho_1092 k_1091 _let_10))) (let ((_let_20 (= _let_19 _let_18))) (let ((_let_21 (not _let_20))) (let ((_let_22 (or _let_21 _let_11))) (let ((_let_23 (forall ((T type_Mirabelle_typ) (T3 type_Mirabelle_typ)) (or (not (= (ho_1092 k_1091 T3) (ho_1092 k_1091 T))) (= T T3))))) (let ((_let_24 (EQ_RESOLVE (ASSUME |:args| (_let_1)) (TRANS (MACRO_SR_EQ_INTRO |:args| (_let_1 7 12)) (PREPROCESS |:args| ((= (forall ((T type_Mirabelle_typ) (T3 type_Mirabelle_typ)) (or (not (= (type_M1006385707scheme T) (type_M1006385707scheme T3))) (= T T3))) _let_23))))))) (let ((_let_25 (ho_1060 k_1064 x))) (let ((_let_26 (ho_1063 (ho_1070 k_1069 k_1086) _let_25))) (let ((_let_27 (= _let_26 _let_18))) (let ((_let_28 (ho_1063 (ho_1070 k_1069 k_1087) _let_25))) (let ((_let_29 (= _let_28 _let_19))) (let ((_let_30 (= _let_26 _let_28))) (let ((_let_31 (forall ((BOUND_VARIABLE_43657 |u_(-> nat type_Mirabelle_typ)|) (N2 nat)) (= (ho_1092 k_1091 (ho_490 BOUND_VARIABLE_43657 N2)) (ho_1063 (ho_1070 k_1069 BOUND_VARIABLE_43657) (ho_1060 k_1064 N2)))))) (let ((_let_32 (EQ_RESOLVE (ASSUME |:args| (_let_6)) (PREPROCESS |:args| ((= _let_6 _let_31)))))) (let ((_let_33 (_let_31))) (let ((_let_34 (k_1086 x))) (let ((_let_35 (k_1087 x))) (let ((_let_36 (not _let_30))) (let ((_let_37 (ho_484 k_483 n))) (let ((_let_38 (ho_485 _let_37 (ho_612 k_611 _let_25)))) (let ((_let_39 (not _let_38))) (let ((_let_40 (= (ho_490 k_1086 n) (ho_490 k_1087 n)))) (let ((_let_41 (EQ_RESOLVE (ASSUME |:args| (_let_8)) (PREPROCESS |:args| ((= _let_8 (not (or _let_40 _let_39 _let_36)))))))) (let ((_let_42 (and _let_27 _let_30 _let_29))) (let ((_let_43 (forall ((BOUND_VARIABLE_45952 |u_(-> nat type_Mirabelle_typ)|) (N2 nat)) (= (ho_490 BOUND_VARIABLE_45952 N2) (ho_501 (ho_1090 k_1089 BOUND_VARIABLE_45952) (ho_490 k_489 N2)))))) (let ((_let_44 (EQ_RESOLVE (ASSUME |:args| (_let_2)) (PREPROCESS |:args| ((= _let_2 _let_43)))))) (let ((_let_45 (_let_43))) (let ((_let_46 (ho_693 k_899 _let_12))) (let ((_let_47 (ho_485 _let_37 _let_46))) (let ((_let_48 (not _let_47))) (let ((_let_49 (not _let_17))) (let ((_let_50 (or _let_49 _let_48 _let_40))) (let ((_let_51 (forall ((BOUND_VARIABLE_44044 |u_(-> nat type_Mirabelle_typ)|) (T type_Mirabelle_typ) (BOUND_VARIABLE_44042 |u_(-> nat type_Mirabelle_typ)|) (N2 nat)) (or (not (= (ho_501 (ho_1090 k_1089 BOUND_VARIABLE_44042) T) (ho_501 (ho_1090 k_1089 BOUND_VARIABLE_44044) T))) (not (ho_485 (ho_484 k_483 N2) (ho_693 k_899 T))) (= (ho_490 BOUND_VARIABLE_44042 N2) (ho_490 BOUND_VARIABLE_44044 N2)))))) (let ((_let_52 (EQ_RESOLVE (ASSUME |:args| (_let_5)) (TRANS (MACRO_SR_EQ_INTRO |:args| (_let_5 7 12)) (PREPROCESS |:args| ((= (forall ((S1 (-> nat type_Mirabelle_typ)) (T type_Mirabelle_typ) (S2 (-> nat type_Mirabelle_typ)) (N2 nat)) (or (not (= ((type_M784671311le_typ S1) T) ((type_M784671311le_typ S2) T))) (not ((member_nat N2) (type_M49385309le_typ T))) (= (S1 N2) (S2 N2)))) _let_51))))))) (let ((_let_53 (ho_1092 k_1091 _let_12))) (let ((_let_54 (= _let_46 (ho_612 k_611 _let_53)))) (let ((_let_55 (= _let_25 _let_53))) (let ((_let_56 (forall ((T type_Mirabelle_typ)) (= (ho_693 k_899 T) (ho_612 k_611 (ho_1092 k_1091 T)))))) (let ((_let_57 (EQ_RESOLVE (ASSUME |:args| (_let_3)) (PREPROCESS |:args| ((= _let_3 _let_56)))))) (let ((_let_58 (forall ((N2 nat)) (= (ho_1060 k_1064 N2) (ho_1092 k_1091 (ho_490 k_489 N2)))))) (let ((_let_59 (EQ_RESOLVE (ASSUME |:args| (_let_4)) (PREPROCESS |:args| ((= _let_4 _let_58)))))) (let ((_let_60 (and _let_38 _let_55 _let_54))) (let ((_let_61 (not _let_16))) (let ((_let_62 (not _let_14))) (let ((_let_63 (not _let_11))) (SCOPE (MACRO_RESOLUTION_TRUST (REORDERING (EQ_RESOLVE (NOT_AND (SCOPE (MACRO_SR_PRED_ELIM (TRANS (SYMM (TRUE_INTRO (TRANS (SYMM (ASSUME |:args| (_let_16))) (SYMM (SYMM (ASSUME |:args| (_let_11)))) (SYMM (SYMM (ASSUME |:args| (_let_14))))))) (FALSE_INTRO (ASSUME |:args| (_let_49))))) |:args| (_let_49 _let_16 _let_14 _let_11))) (CONG (MACRO_SR_PRED_INTRO |:args| ((= (not _let_49) _let_17))) (REFL |:args| (_let_61)) (REFL |:args| (_let_62)) (REFL |:args| (_let_63)) |:args| (20))) |:args| ((or _let_63 _let_62 _let_61 _let_17))) (MACRO_RESOLUTION_TRUST (REORDERING (CNF_OR_POS |:args| (_let_50)) |:args| ((or _let_40 _let_48 _let_49 (not _let_50)))) (NOT_OR_ELIM _let_41 |:args| (0)) (MACRO_RESOLUTION_TRUST (REORDERING (RESOLUTION (CNF_AND_NEG |:args| (_let_60)) (IMPLIES_ELIM (SCOPE (TRUE_ELIM (TRANS (CONG (REFL |:args| (_let_37)) (TRANS (SYMM (SYMM (ASSUME |:args| (_let_54)))) (CONG (REFL |:args| (k_611)) (SYMM (ASSUME |:args| (_let_55))) |:args| (23 ho_612))) |:args| (23 ho_485)) (TRUE_INTRO (ASSUME |:args| (_let_38))))) |:args| (_let_38 _let_55 _let_54))) |:args| (true _let_60)) |:args| ((or _let_39 (not _let_55) _let_47 (not _let_54)))) (NOT_NOT_ELIM (NOT_OR_ELIM _let_41 |:args| (1))) (MACRO_RESOLUTION_TRUST (IMPLIES_ELIM (SCOPE (INSTANTIATE _let_59 |:args| (x)) |:args| (_let_58))) _let_59 |:args| (_let_55 false _let_58)) (MACRO_RESOLUTION_TRUST (IMPLIES_ELIM (SCOPE (INSTANTIATE _let_57 |:args| (_let_12)) |:args| (_let_56))) _let_57 |:args| (_let_54 false _let_56)) |:args| (_let_47 false _let_38 false _let_55 false _let_54)) (MACRO_RESOLUTION_TRUST (IMPLIES_ELIM (MACRO_SR_PRED_ELIM (SCOPE (INSTANTIATE _let_52 |:args| (k_1087 _let_12 k_1086 n)) |:args| (_let_51)))) _let_52 |:args| (_let_50 false _let_51)) |:args| (_let_49 true _let_40 false _let_47 false _let_50)) (MACRO_RESOLUTION_TRUST (IMPLIES_ELIM (SCOPE (INSTANTIATE _let_44 |:args| _let_35) |:args| _let_45)) _let_44 |:args| (_let_16 false _let_43)) (MACRO_RESOLUTION_TRUST (IMPLIES_ELIM (SCOPE (INSTANTIATE _let_44 |:args| _let_34) |:args| _let_45)) _let_44 |:args| (_let_14 false _let_43)) (MACRO_RESOLUTION_TRUST (REORDERING (CNF_OR_POS |:args| (_let_22)) |:args| ((or _let_21 _let_11 (not _let_22)))) (MACRO_RESOLUTION_TRUST (REORDERING (RESOLUTION (CNF_AND_NEG |:args| (_let_42)) (IMPLIES_ELIM (SCOPE (TRANS (SYMM (ASSUME |:args| (_let_29))) (SYMM (ASSUME |:args| (_let_30))) (SYMM (SYMM (ASSUME |:args| (_let_27))))) |:args| (_let_27 _let_30 _let_29))) |:args| (true _let_42)) |:args| ((or _let_36 (not _let_29) (not _let_27) _let_20))) (NOT_NOT_ELIM (NOT_OR_ELIM _let_41 |:args| (2))) (MACRO_RESOLUTION_TRUST (IMPLIES_ELIM (MACRO_SR_PRED_ELIM (SCOPE (INSTANTIATE _let_32 |:args| _let_35) |:args| _let_33))) _let_32 |:args| (_let_29 false _let_31)) (MACRO_RESOLUTION_TRUST (IMPLIES_ELIM (MACRO_SR_PRED_ELIM (SCOPE (INSTANTIATE _let_32 |:args| _let_34) |:args| _let_33))) _let_32 |:args| (_let_27 false _let_31)) |:args| (_let_20 false _let_30 false _let_29 false _let_27)) (MACRO_RESOLUTION_TRUST (IMPLIES_ELIM (MACRO_SR_PRED_ELIM (SCOPE (INSTANTIATE _let_24 |:args| (_let_9 _let_10)) |:args| (_let_23)))) _let_24 |:args| (_let_22 false _let_23)) |:args| (_let_11 false _let_20 false _let_22)) |:args| (false true _let_17 false _let_16 false _let_14 false _let_11)) |:args| ((forall ((P (-> nat Bool)) (A nat)) (let ((_let_1 (P A))) (and (=> (not _let_1) (= (collect_nat (lambda ((X4 nat)) (and (= X4 A) (P X4)))) bot_bot_set_nat)) (=> _let_1 (= (collect_nat (lambda ((X4 nat)) (and (= X4 A) (P X4)))) ((insert_nat A) bot_bot_set_nat)))))) (forall ((A (-> nat Bool)) (B2 (-> nat Bool))) (=> ((ord_less_nat_o A) B2) (not (= A B2)))) (forall ((R set_nat) (S set_nat)) (= ((sup_sup_nat_o (lambda ((X4 nat)) ((member_nat X4) R))) (lambda ((X4 nat)) ((member_nat X4) S))) (lambda ((X4 nat)) ((member_nat X4) ((sup_sup_set_nat R) S))))) (forall ((X3 nat) (Y nat)) (=> ((ord_less_nat X3) Y) (not (= X3 Y)))) (forall ((Xs list_nat) (Ys list_nat)) (or ((ord_lexordp_eq_nat Ys) Xs) ((ord_lexordp_eq_nat Xs) Ys))) (forall ((M nat)) (= (type_M326705277scheme (type_M2048935292e_BVar M)) ((insert_nat M) bot_bot_set_nat))) (forall ((X3 nat) (A nat) (B2 nat)) (let ((_let_1 (ord_less_nat X3))) (=> (_let_1 A) (_let_1 ((sup_sup_nat A) B2))))) (= ord_less_set_nat (lambda ((A4 set_nat) (B4 set_nat)) ((ord_less_nat_o (lambda ((X4 nat)) ((member_nat X4) A4))) (lambda ((X4 nat)) ((member_nat X4) B4))))) (forall ((X3 nat)) (exists ((X_1 nat)) ((ord_less_nat X3) X_1))) (forall ((X21 nat) (X222 list_nat) (Y21 nat) (Y22 list_nat)) (= (= ((cons_nat X21) X222) ((cons_nat Y21) Y22)) (and (= X222 Y22) (= X21 Y21)))) (forall ((A (-> nat Bool)) (F (-> nat nat Bool)) (B2 nat) (C nat)) (let ((_let_1 (ord_less_nat_o A))) (=> (_let_1 (F B2)) (=> ((ord_less_nat B2) C) (=> (forall ((X nat) (Y4 nat)) (=> ((ord_less_nat X) Y4) ((ord_less_nat_o (F X)) (F Y4)))) (_let_1 (F C))))))) (forall ((B2 nat) (A nat)) (=> ((member_nat B2) ((insert_nat A) bot_bot_set_nat)) (= B2 A))) (forall ((Y type_M1694694083scheme)) (=> (forall ((X12 nat)) (not (= Y (type_M876316792e_FVar X12)))) (=> (forall ((X22 nat)) (not (= Y (type_M2048935292e_BVar X22)))) (not (forall ((X312 type_M1694694083scheme) (X322 type_M1694694083scheme)) (not (= Y ((type_M155660035e_SFun X312) X322)))))))) (forall ((N2 nat) (A2 list_T247403987scheme) (S (-> nat type_Mirabelle_typ)) (S3 (-> nat type_Mirabelle_typ))) (=> ((type_M2064939256scheme N2) A2) (= ((type_M1944210753scheme (lambda ((K nat)) (((if_Typ1169047309le_typ ((ord_less_nat K) N2)) (S K)) (S3 K)))) A2) ((type_M1944210753scheme S) A2)))) (forall ((T1 type_Mirabelle_typ) (T2 type_Mirabelle_typ)) (= (type_M49385309le_typ ((type_Mirabelle_Fun T1) T2)) ((sup_sup_set_nat (type_M49385309le_typ T1)) (type_M49385309le_typ T2)))) (forall ((X3 set_nat) (Y set_nat)) (=> ((ord_less_set_nat X3) Y) (not (= X3 Y)))) (forall ((Sch type_M1694694083scheme) (S1 (-> nat type_Mirabelle_typ)) (S2 (-> nat type_Mirabelle_typ))) (=> (forall ((N nat)) (=> ((member_nat N) (type_M1050318637scheme Sch)) (= (S1 N) (S2 N)))) (= ((type_M1690910139scheme S1) Sch) ((type_M1690910139scheme S2) Sch)))) (forall ((X3 list_l1334080099scheme) (L list_l1704431731scheme)) (= (type_M1926053183scheme ((cons_l531914285scheme X3) L)) ((sup_sup_set_nat (type_M1958029241scheme X3)) (type_M1926053183scheme L)))) (forall ((A set_nat) (B2 set_nat) (C set_nat)) (let ((_let_1 (ord_less_set_nat A))) (=> (_let_1 B2) (=> ((ord_less_set_nat B2) C) (_let_1 C))))) (forall ((X3 nat) (Y nat) (Xs list_nat) (Ys list_nat)) (=> (not ((ord_less_nat X3) Y)) (=> (not ((ord_less_nat Y) X3)) (=> ((ord_lexordp_eq_nat Xs) Ys) ((ord_lexordp_eq_nat ((cons_nat X3) Xs)) ((cons_nat Y) Ys)))))) (forall ((A2 set_nat) (B set_nat)) (let ((_let_1 (sup_sup_set_nat A2))) (let ((_let_2 (_let_1 B))) (= (_let_1 _let_2) _let_2)))) (forall ((X3 nat) (Y nat)) (= (not ((ord_less_nat X3) Y)) (or (= X3 Y) ((ord_less_nat Y) X3)))) (forall ((A nat) (F (-> set_nat nat)) (B2 set_nat) (C set_nat)) (let ((_let_1 (ord_less_nat A))) (=> (_let_1 (F B2)) (=> ((ord_less_set_nat B2) C) (=> (forall ((X set_nat) (Y4 set_nat)) (=> ((ord_less_set_nat X) Y4) ((ord_less_nat (F X)) (F Y4)))) (_let_1 (F C))))))) (forall ((A nat) (B2 nat) (F (-> nat nat Bool)) (C (-> nat Bool))) (=> ((ord_less_nat A) B2) (=> (= (F B2) C) (=> (forall ((X nat) (Y4 nat)) (=> ((ord_less_nat X) Y4) ((ord_less_nat_o (F X)) (F Y4)))) ((ord_less_nat_o (F A)) C))))) (forall ((B set_nat)) (= ((sup_sup_set_nat bot_bot_set_nat) B) B)) (forall ((X1 nat) (X21 type_Mirabelle_typ) (X222 type_Mirabelle_typ)) (not (= (type_Mirabelle_TVar X1) ((type_Mirabelle_Fun X21) X222)))) (forall ((X3 list_T247403987scheme) (L list_l1334080099scheme)) (= (type_M1496178953scheme ((cons_l1910959773scheme X3) L)) ((sup_sup_set_nat (type_M961603331scheme X3)) (type_M1496178953scheme L)))) (forall ((P (-> nat Bool))) (= (= (collect_nat P) bot_bot_set_nat) (= P bot_bot_nat_o))) (= ord_lexordp_eq_nat (lambda ((A12 list_nat) (A23 list_nat)) (or (exists ((X4 nat) (Y6 nat) (Xs3 list_nat) (Ys3 list_nat)) (and (= A12 ((cons_nat X4) Xs3)) (not ((ord_less_nat X4) Y6)) (not ((ord_less_nat Y6) X4)) ((ord_lexordp_eq_nat Xs3) Ys3) (= A23 ((cons_nat Y6) Ys3)))) (exists ((X4 nat) (Y6 nat) (Xs3 list_nat) (Ys3 list_nat)) (and (= A12 ((cons_nat X4) Xs3)) ((ord_less_nat X4) Y6) (= A23 ((cons_nat Y6) Ys3)))) (exists ((Ys3 list_nat)) (and (= A12 nil_nat) (= A23 Ys3)))))) (forall ((A set_nat) (F (-> nat set_nat)) (B2 nat) (C nat)) (let ((_let_1 (ord_less_set_nat A))) (=> (_let_1 (F B2)) (=> ((ord_less_nat B2) C) (=> (forall ((X nat) (Y4 nat)) (=> ((ord_less_nat X) Y4) ((ord_less_set_nat (F X)) (F Y4)))) (_let_1 (F C))))))) (forall ((P (-> nat Bool)) (Q (-> nat Bool))) (=> (forall ((X nat)) (= (P X) (Q X))) (= (collect_nat P) (collect_nat Q)))) (forall ((X3 (-> nat Bool)) (Y (-> nat Bool))) (= (= bot_bot_nat_o ((sup_sup_nat_o X3) Y)) (and (= X3 bot_bot_nat_o) (= Y bot_bot_nat_o)))) (forall ((X3 type_M1694694083scheme) (L list_T247403987scheme)) (= (type_M961603331scheme ((cons_T633159821scheme X3) L)) ((sup_sup_set_nat (type_M326705277scheme X3)) (type_M961603331scheme L)))) (= if_nat (lambda ((P3 Bool) (X4 nat) (Y6 nat)) (the_nat (lambda ((Z3 nat)) (and (=> (not P3) (= Z3 Y6)) (=> P3 (= Z3 X4))))))) (= type_Mirabelle_dom (lambda ((S4 (-> nat type_Mirabelle_typ))) (collect_nat (lambda ((N3 nat)) (not (= (S4 N3) (type_Mirabelle_TVar N3))))))) (= type_M1963061490scheme (lambda ((N3 nat) (Ts type_M1694694083scheme)) (forall ((M2 nat)) (=> ((member_nat M2) (type_M1050318637scheme Ts)) ((ord_less_nat M2) N3))))) (forall ((A (-> nat Bool)) (B2 (-> nat Bool)) (F (-> (-> nat Bool) nat)) (C nat)) (=> ((ord_less_nat_o A) B2) (=> ((ord_less_nat (F B2)) C) (=> (forall ((X (-> nat Bool)) (Y4 (-> nat Bool))) (=> ((ord_less_nat_o X) Y4) ((ord_less_nat (F X)) (F Y4)))) ((ord_less_nat (F A)) C))))) (forall ((X21 (-> nat type_Mirabelle_typ)) (X222 list_n396811828le_typ) (Y21 (-> nat type_Mirabelle_typ)) (Y22 list_n396811828le_typ)) (= (= ((cons_n499085924le_typ X21) X222) ((cons_n499085924le_typ Y21) Y22)) (and (= X21 Y21) (= X222 Y22)))) (forall ((X3 set_nat) (Y set_nat)) (=> ((ord_less_set_nat X3) Y) (not ((ord_less_set_nat Y) X3)))) (forall ((A (-> nat Bool)) (F (-> nat nat Bool)) (B2 nat) (C nat)) (=> (= A (F B2)) (=> ((ord_less_nat B2) C) (=> (forall ((X nat) (Y4 nat)) (=> ((ord_less_nat X) Y4) ((ord_less_nat_o (F X)) (F Y4)))) ((ord_less_nat_o A) (F C)))))) (forall ((A2 set_nat)) (= (collect_nat (lambda ((X4 nat)) ((member_nat X4) A2))) A2)) (forall ((X3 list_n396811828le_typ) (L list_l865305402le_typ)) (= (type_M906078444le_typ ((cons_l1800589546le_typ X3) L)) ((sup_sup_set_nat (type_M1691543772le_typ X3)) (type_M906078444le_typ L)))) (= insert_nat (lambda ((A3 nat) (__flatten_var_0 set_nat)) ((sup_sup_set_nat ((insert_nat A3) bot_bot_set_nat)) __flatten_var_0))) (forall ((X3 nat) (Y nat) (P Bool)) (=> ((ord_less_nat X3) Y) (=> ((ord_less_nat Y) X3) P))) (forall ((M nat)) (= (type_M49385309le_typ (type_Mirabelle_TVar M)) ((insert_nat M) bot_bot_set_nat))) _let_8 (forall ((P (-> type_Mirabelle_typ Bool)) (Typ type_Mirabelle_typ)) (=> (forall ((X nat)) (P (type_Mirabelle_TVar X))) (=> (forall ((X1a type_Mirabelle_typ) (X22 type_Mirabelle_typ)) (=> (P X1a) (=> (P X22) (P ((type_Mirabelle_Fun X1a) X22))))) (P Typ)))) (forall ((N2 nat) (T1 type_Mirabelle_typ) (T2 type_Mirabelle_typ)) (let ((_let_1 (type_M1211611096le_typ N2))) (= (_let_1 ((type_Mirabelle_Fun T1) T2)) (and (_let_1 T2) (_let_1 T1))))) (forall ((P (-> nat Bool)) (X3 nat)) (=> (exists ((X7 nat)) (and (P X7) (forall ((Y4 nat)) (=> (P Y4) (= Y4 X7))))) (= (P X3) (= X3 (the_nat P))))) (forall ((A nat) (B2 nat) (C nat) (D nat)) (= (= ((insert_nat A) ((insert_nat B2) bot_bot_set_nat)) ((insert_nat C) ((insert_nat D) bot_bot_set_nat))) (or (and (= A C) (= B2 D)) (and (= B2 C) (= A D))))) (forall ((X3 (-> nat Bool)) (Y (-> nat Bool))) (=> ((ord_less_nat_o X3) Y) (not (= X3 Y)))) (forall ((X3 list_T247403987scheme) (L list_l1334080099scheme)) (= (type_M1958029241scheme ((cons_l1910959773scheme X3) L)) ((sup_sup_set_nat (type_M141510067scheme X3)) (type_M1958029241scheme L)))) (forall ((X3 (-> nat Bool)) (Y (-> nat Bool)) (Z2 (-> nat Bool))) (let ((_let_1 (ord_less_nat_o X3))) (=> (_let_1 Y) (=> ((ord_less_nat_o Y) Z2) (_let_1 Z2))))) (forall ((A set_nat) (B2 set_nat) (C set_nat)) (=> (= A B2) (=> ((ord_less_set_nat B2) C) ((ord_less_set_nat A) C)))) (forall ((A (-> nat Bool)) (B2 (-> nat Bool))) (= (= ((sup_sup_nat_o A) B2) bot_bot_nat_o) (and (= A bot_bot_nat_o) (= B2 bot_bot_nat_o)))) (forall ((A nat)) (not ((ord_less_nat A) bot_bot_nat))) (forall ((X3 set_nat) (Y set_nat) (P Bool)) (=> ((ord_less_set_nat X3) Y) (=> ((ord_less_set_nat Y) X3) P))) (forall ((X3 (-> nat type_Mirabelle_typ)) (L list_n396811828le_typ)) (= (type_M513401740le_typ ((cons_n499085924le_typ X3) L)) ((sup_sup_set_nat (type_M772783356le_typ X3)) (type_M513401740le_typ L)))) (forall ((X3 nat) (Y nat)) (=> (not ((ord_less_nat X3) Y)) (=> (not (= X3 Y)) ((ord_less_nat Y) X3)))) (= ord_less_nat_o (lambda ((B6 (-> nat Bool)) (A3 (-> nat Bool))) (and (= A3 ((sup_sup_nat_o A3) B6)) (not (= A3 B6))))) (forall ((X3 (-> nat Bool)) (Y (-> nat Bool))) (=> ((ord_less_nat_o X3) Y) (not (= X3 Y)))) (forall ((A2 set_nat) (B set_nat) (P (-> nat Bool))) (= (forall ((X4 nat)) (=> ((member_nat X4) ((sup_sup_set_nat A2) B)) (P X4))) (and (forall ((X4 nat)) (=> ((member_nat X4) B) (P X4))) (forall ((X4 nat)) (=> ((member_nat X4) A2) (P X4)))))) (forall ((A2 set_nat) (A nat)) (=> (= A2 bot_bot_set_nat) (not ((member_nat A) A2)))) (forall ((A nat) (A2 set_nat)) (=> ((member_nat A) A2) (= ((insert_nat A) A2) A2))) (forall ((A2 set_nat) (B set_nat) (P (-> nat Bool))) (= (exists ((X4 nat)) (and ((member_nat X4) ((sup_sup_set_nat A2) B)) (P X4))) (or (exists ((X4 nat)) (and (P X4) ((member_nat X4) A2))) (exists ((X4 nat)) (and (P X4) ((member_nat X4) B)))))) (forall ((A (-> nat Bool))) (= ((sup_sup_nat_o bot_bot_nat_o) A) A)) (forall ((A (-> nat Bool)) (F (-> (-> nat Bool) nat Bool)) (B2 (-> nat Bool)) (C (-> nat Bool))) (=> (= A (F B2)) (=> ((ord_less_nat_o B2) C) (=> (forall ((X (-> nat Bool)) (Y4 (-> nat Bool))) (=> ((ord_less_nat_o X) Y4) ((ord_less_nat_o (F X)) (F Y4)))) ((ord_less_nat_o A) (F C)))))) (forall ((A nat) (B2 nat)) (=> ((ord_less_nat A) B2) (not (= A B2)))) (forall ((A nat) (B2 nat) (F (-> nat nat)) (C nat)) (=> ((ord_less_nat A) B2) (=> (= (F B2) C) (=> (forall ((X nat) (Y4 nat)) (=> ((ord_less_nat X) Y4) ((ord_less_nat (F X)) (F Y4)))) ((ord_less_nat (F A)) C))))) (= ord_le727790544et_nat (lambda ((A12 list_set_nat) (A23 list_set_nat)) (or (exists ((X4 set_nat) (Y6 set_nat) (Xs3 list_set_nat) (Ys3 list_set_nat)) (and (= A12 ((cons_set_nat X4) Xs3)) ((ord_le727790544et_nat Xs3) Ys3) (not ((ord_less_set_nat Y6) X4)) (not ((ord_less_set_nat X4) Y6)) (= A23 ((cons_set_nat Y6) Ys3)))) (exists ((X4 set_nat) (Y6 set_nat) (Xs3 list_set_nat) (Ys3 list_set_nat)) (and ((ord_less_set_nat X4) Y6) (= A23 ((cons_set_nat Y6) Ys3)) (= A12 ((cons_set_nat X4) Xs3)))) (exists ((Ys3 list_set_nat)) (and (= A23 Ys3) (= A12 nil_set_nat)))))) (forall ((A set_nat) (B2 set_nat) (C set_nat)) (let ((_let_1 (ord_less_set_nat A))) (=> (_let_1 B2) (=> (= B2 C) (_let_1 C))))) (forall ((X3 set_nat) (B2 set_nat) (A set_nat)) (let ((_let_1 (ord_less_set_nat X3))) (=> (_let_1 B2) (_let_1 ((sup_sup_set_nat A) B2))))) (forall ((X3 nat) (B2 nat) (A nat)) (let ((_let_1 (ord_less_nat X3))) (=> (_let_1 B2) (_let_1 ((sup_sup_nat A) B2))))) (forall ((X3 nat) (Y nat)) (=> ((ord_less_nat X3) Y) (not ((ord_less_nat Y) X3)))) (forall ((S (-> nat type_Mirabelle_typ)) (N2 nat)) (let ((_let_1 (type_M2048935292e_BVar N2))) (= ((type_M1690910139scheme S) _let_1) _let_1))) (forall ((T type_Mirabelle_typ) (S (-> nat type_Mirabelle_typ)) (S3 (-> nat type_Mirabelle_typ))) (=> (forall ((X nat)) (=> ((member_nat X) (type_M49385309le_typ T)) (= (S X) (S3 X)))) (= ((type_M784671311le_typ S) T) ((type_M784671311le_typ S3) T)))) (forall ((P (-> nat Bool)) (Q (-> nat Bool))) (= (collect_nat (lambda ((X4 nat)) (or (P X4) (Q X4)))) ((sup_sup_set_nat (collect_nat P)) (collect_nat Q)))) (forall ((A2 set_nat)) (=> (is_singleton_nat A2) (not (forall ((X nat)) (not (= A2 ((insert_nat X) bot_bot_set_nat))))))) (forall ((P (-> nat Bool))) (= (= bot_bot_set_nat (collect_nat P)) (forall ((X4 nat)) (not (P X4))))) (= (type_M141510067scheme nil_Ty61485117scheme) bot_bot_set_nat) _let_6 (forall ((X3 (-> nat Bool)) (Y (-> nat Bool))) (=> ((ord_less_nat_o X3) Y) (not ((ord_less_nat_o Y) X3)))) (forall ((X3 type_Mirabelle_typ) (Xs list_T1103309005le_typ)) (not (= ((cons_T363929085le_typ X3) Xs) Xs))) (forall ((A nat) (F (-> (-> nat Bool) nat)) (B2 (-> nat Bool)) (C (-> nat Bool))) (=> (= A (F B2)) (=> ((ord_less_nat_o B2) C) (=> (forall ((X (-> nat Bool)) (Y4 (-> nat Bool))) (=> ((ord_less_nat_o X) Y4) ((ord_less_nat (F X)) (F Y4)))) ((ord_less_nat A) (F C)))))) (forall ((A set_nat) (B2 set_nat)) (= (= bot_bot_set_nat ((sup_sup_set_nat A) B2)) (and (= A bot_bot_set_nat) (= B2 bot_bot_set_nat)))) (forall ((A2 list_T247403987scheme) (S1 (-> nat type_Mirabelle_typ)) (S2 (-> nat type_Mirabelle_typ))) (=> (forall ((N nat)) (=> ((member_nat N) (type_M141510067scheme A2)) (= (S1 N) (S2 N)))) (= ((type_M1944210753scheme S1) A2) ((type_M1944210753scheme S2) A2)))) (forall ((X3 list_T1103309005le_typ) (L list_l1790670291le_typ)) (= (type_M1418941437le_typ ((cons_l392684675le_typ X3) L)) ((sup_sup_set_nat (type_M510873837le_typ X3)) (type_M1418941437le_typ L)))) (forall ((A (-> nat Bool)) (B2 (-> nat Bool)) (F (-> (-> nat Bool) nat)) (C nat)) (=> ((ord_less_nat_o A) B2) (=> (= (F B2) C) (=> (forall ((X (-> nat Bool)) (Y4 (-> nat Bool))) (=> ((ord_less_nat_o X) Y4) ((ord_less_nat (F X)) (F Y4)))) ((ord_less_nat (F A)) C))))) (forall ((C nat) (A2 set_nat) (B set_nat)) (let ((_let_1 (member_nat C))) (=> (_let_1 A2) (_let_1 ((sup_sup_set_nat A2) B))))) (forall ((N2 nat) (X3 type_Mirabelle_typ) (L list_T1103309005le_typ)) (let ((_let_1 (type_M263553000le_typ N2))) (= (_let_1 ((cons_T363929085le_typ X3) L)) (and (_let_1 L) ((type_M1211611096le_typ N2) X3))))) (forall ((X3 nat) (Y nat)) (= (((if_nat false) X3) Y) Y)) (forall ((X3 set_nat) (Y set_nat)) (= (= bot_bot_set_nat ((sup_sup_set_nat X3) Y)) (and (= Y bot_bot_set_nat) (= X3 bot_bot_set_nat)))) (forall ((P (-> nat Bool)) (A nat)) (=> (forall ((X nat)) (=> (forall ((Y5 nat)) (=> ((ord_less_nat Y5) X) (P Y5))) (P X))) (P A))) (forall ((A2 set_nat)) (= ((sup_sup_set_nat A2) bot_bot_set_nat) A2)) (forall ((P Bool)) (or (= P true) (= P false))) (forall ((B2 (-> nat Bool)) (C (-> nat Bool)) (A (-> nat Bool))) (=> ((ord_less_nat_o ((sup_sup_nat_o B2) C)) A) (not (=> ((ord_less_nat_o B2) A) (not ((ord_less_nat_o C) A)))))) (forall ((N2 nat)) ((type_M1734147655le_typ N2) type_Mirabelle_TVar)) (forall ((A nat) (P (-> nat Bool))) (= ((member_nat A) (collect_nat P)) (P A))) (forall ((A nat) (B2 nat) (C nat)) (=> (= A B2) (=> ((ord_less_nat B2) C) ((ord_less_nat A) C)))) (= insert_nat (lambda ((A3 nat) (B4 set_nat)) (collect_nat (lambda ((X4 nat)) (or (= X4 A3) ((member_nat X4) B4)))))) (forall ((Y nat) (X3 nat)) (=> (not ((ord_less_nat Y) X3)) (= (not ((ord_less_nat X3) Y)) (= X3 Y)))) (forall ((A nat) (B2 nat) (C nat)) (let ((_let_1 (ord_less_nat A))) (=> (_let_1 B2) (=> (= B2 C) (_let_1 C))))) (= type_M244876119le_typ (lambda ((N3 nat) (Ts list_n396811828le_typ)) (forall ((M2 nat)) (=> ((member_nat M2) (type_M1691543772le_typ Ts)) ((ord_less_nat M2) N3))))) _let_5 (forall ((X3 nat) (Y nat)) (=> ((ord_less_nat X3) Y) (not ((ord_less_nat Y) X3)))) (= type_M405566558_subst type_Mirabelle_TVar) (forall ((A nat) (B2 nat)) (=> (= ((insert_nat A) bot_bot_set_nat) ((insert_nat B2) bot_bot_set_nat)) (= A B2))) (forall ((X3 set_nat) (Y set_nat)) (=> ((ord_less_set_nat X3) Y) (not ((ord_less_set_nat Y) X3)))) (forall ((P (-> type_M1694694083scheme Bool)) (Type_scheme type_M1694694083scheme)) (=> (forall ((X nat)) (P (type_M876316792e_FVar X))) (=> (forall ((X nat)) (P (type_M2048935292e_BVar X))) (=> (forall ((X1a type_M1694694083scheme) (X2a type_M1694694083scheme)) (=> (P X1a) (=> (P X2a) (P ((type_M155660035e_SFun X1a) X2a))))) (P Type_scheme))))) (forall ((X3 set_nat)) (not ((ord_less_set_nat X3) X3))) (forall ((X3 nat) (Y nat)) (=> ((ord_less_nat X3) Y) (not ((ord_less_nat Y) X3)))) (forall ((A2 set_nat)) (=> (forall ((Y4 nat)) (not ((member_nat Y4) A2))) (= A2 bot_bot_set_nat))) (forall ((X1 nat) (X2 nat)) (not (= (type_M876316792e_FVar X1) (type_M2048935292e_BVar X2)))) (forall ((P (-> nat Bool)) (A nat)) (=> (P A) (=> (forall ((X nat)) (=> (P X) (= X A))) (= (the_nat P) A)))) (forall ((A set_nat) (F (-> nat set_nat)) (B2 nat) (C nat)) (=> (= A (F B2)) (=> ((ord_less_nat B2) C) (=> (forall ((X nat) (Y4 nat)) (=> ((ord_less_nat X) Y4) ((ord_less_set_nat (F X)) (F Y4)))) ((ord_less_set_nat A) (F C)))))) (forall ((S1 type_M1694694083scheme) (S2 type_M1694694083scheme)) (= (type_M326705277scheme ((type_M155660035e_SFun S1) S2)) ((sup_sup_set_nat (type_M326705277scheme S1)) (type_M326705277scheme S2)))) (forall ((S (-> nat type_Mirabelle_typ)) (X3 list_T247403987scheme) (L list_l1334080099scheme)) (let ((_let_1 (type_M1061687367scheme S))) (= (_let_1 ((cons_l1910959773scheme X3) L)) ((cons_l1910959773scheme ((type_M1944210753scheme S) X3)) (_let_1 L))))) (forall ((S1 type_M1694694083scheme) (S2 type_M1694694083scheme)) (= (type_M1050318637scheme ((type_M155660035e_SFun S1) S2)) ((sup_sup_set_nat (type_M1050318637scheme S1)) (type_M1050318637scheme S2)))) (forall ((A2 set_nat) (B set_nat) (C3 set_nat)) (let ((_let_1 (sup_sup_set_nat A2))) (let ((_let_2 (sup_sup_set_nat B))) (= (_let_1 (_let_2 C3)) (_let_2 (_let_1 C3)))))) (forall ((P (-> nat Bool)) (X3 nat)) (=> (= P ((lambda ((Y3 nat) (Z nat)) (= Y3 Z)) X3)) (= (the_nat P) X3))) (forall ((A2 set_nat)) (= (exists ((X4 nat)) ((member_nat X4) A2)) (not (= A2 bot_bot_set_nat)))) (forall ((C nat) (B2 nat) (A nat)) (let ((_let_1 (ord_less_nat C))) (=> (_let_1 B2) (_let_1 ((sup_sup_nat A) B2))))) (forall ((B2 (-> nat Bool)) (A (-> nat Bool)) (C (-> nat Bool))) (let ((_let_1 (ord_less_nat_o C))) (=> ((ord_less_nat_o B2) A) (=> (_let_1 B2) (_let_1 A))))) (forall ((X3 (-> nat Bool)) (Y (-> nat Bool))) (=> ((ord_less_nat_o X3) Y) (not ((ord_less_nat_o Y) X3)))) (forall ((X3 (-> nat Bool)) (Y (-> nat Bool)) (P Bool)) (=> ((ord_less_nat_o X3) Y) (=> ((ord_less_nat_o Y) X3) P))) (= type_M1715972684le_typ (lambda ((S4 (-> nat type_Mirabelle_typ))) ((sup_sup_set_nat (type_Mirabelle_dom S4)) (type_Mirabelle_cod S4)))) (forall ((C nat) (A nat) (B2 nat)) (let ((_let_1 (ord_less_nat C))) (=> (_let_1 A) (_let_1 ((sup_sup_nat A) B2))))) (forall ((A2 set_nat)) (not ((ord_less_set_nat A2) bot_bot_set_nat))) _let_4 (forall ((S (-> nat type_Mirabelle_typ)) (X3 list_l1334080099scheme) (L list_l1704431731scheme)) (let ((_let_1 (type_M1385924301scheme S))) (= (_let_1 ((cons_l531914285scheme X3) L)) ((cons_l531914285scheme ((type_M1061687367scheme S) X3)) (_let_1 L))))) (forall ((T1 type_Mirabelle_typ) (T2 type_Mirabelle_typ)) (= (type_M1006385707scheme ((type_Mirabelle_Fun T1) T2)) ((type_M155660035e_SFun (type_M1006385707scheme T1)) (type_M1006385707scheme T2)))) (forall ((A (-> nat Bool)) (F (-> set_nat nat Bool)) (B2 set_nat) (C set_nat)) (=> (= A (F B2)) (=> ((ord_less_set_nat B2) C) (=> (forall ((X set_nat) (Y4 set_nat)) (=> ((ord_less_set_nat X) Y4) ((ord_less_nat_o (F X)) (F Y4)))) ((ord_less_nat_o A) (F C)))))) (= type_M263553000le_typ (lambda ((N3 nat) (Ts list_T1103309005le_typ)) (forall ((M2 nat)) (=> ((member_nat M2) (type_M510873837le_typ Ts)) ((ord_less_nat M2) N3))))) (forall ((B2 set_nat) (C set_nat) (A set_nat)) (=> ((ord_less_set_nat ((sup_sup_set_nat B2) C)) A) (not (=> ((ord_less_set_nat B2) A) (not ((ord_less_set_nat C) A)))))) (forall ((A1 list_nat_o) (A22 list_nat_o)) (=> ((ord_lexordp_eq_nat_o A1) A22) (=> (not (= A1 nil_nat_o)) (=> (forall ((X (-> nat Bool))) (=> (exists ((Xs2 list_nat_o)) (= A1 ((cons_nat_o X) Xs2))) (forall ((Y4 (-> nat Bool))) (=> (exists ((Ys2 list_nat_o)) (= A22 ((cons_nat_o Y4) Ys2))) (not ((ord_less_nat_o X) Y4)))))) (not (forall ((X (-> nat Bool)) (Y4 (-> nat Bool)) (Xs2 list_nat_o)) (=> (= A1 ((cons_nat_o X) Xs2)) (forall ((Ys2 list_nat_o)) (=> (= A22 ((cons_nat_o Y4) Ys2)) (=> (not ((ord_less_nat_o X) Y4)) (=> (not ((ord_less_nat_o Y4) X)) (not ((ord_lexordp_eq_nat_o Xs2) Ys2))))))))))))) (forall ((N2 nat) (X3 list_n396811828le_typ) (L list_l865305402le_typ)) (let ((_let_1 (type_M2086816231le_typ N2))) (= (_let_1 ((cons_l1800589546le_typ X3) L)) (and (_let_1 L) ((type_M244876119le_typ N2) X3))))) (forall ((X3 (-> nat Bool)) (B2 (-> nat Bool)) (A (-> nat Bool))) (let ((_let_1 (ord_less_nat_o X3))) (=> (_let_1 B2) (_let_1 ((sup_sup_nat_o A) B2))))) (forall ((X3 nat)) (not ((ord_less_nat X3) X3))) (forall ((N2 nat)) ((type_M2064939256scheme N2) nil_Ty61485117scheme)) (forall ((A nat)) (= (not (= A bot_bot_nat)) ((ord_less_nat bot_bot_nat) A))) (forall ((X3 type_Mirabelle_typ) (L list_T1103309005le_typ)) (= (type_M510873837le_typ ((cons_T363929085le_typ X3) L)) ((sup_sup_set_nat (type_M49385309le_typ X3)) (type_M510873837le_typ L)))) (forall ((A (-> nat Bool))) (= ((sup_sup_nat_o A) bot_bot_nat_o) A)) (forall ((A (-> nat Bool)) (F (-> (-> nat Bool) nat Bool)) (B2 (-> nat Bool)) (C (-> nat Bool))) (let ((_let_1 (ord_less_nat_o A))) (=> (_let_1 (F B2)) (=> ((ord_less_nat_o B2) C) (=> (forall ((X (-> nat Bool)) (Y4 (-> nat Bool))) (=> ((ord_less_nat_o X) Y4) ((ord_less_nat_o (F X)) (F Y4)))) (_let_1 (F C))))))) (forall ((A set_nat) (B2 set_nat) (F (-> set_nat nat Bool)) (C (-> nat Bool))) (=> ((ord_less_set_nat A) B2) (=> (= (F B2) C) (=> (forall ((X set_nat) (Y4 set_nat)) (=> ((ord_less_set_nat X) Y4) ((ord_less_nat_o (F X)) (F Y4)))) ((ord_less_nat_o (F A)) C))))) (forall ((B2 nat) (A nat)) (= ((member_nat B2) ((insert_nat A) bot_bot_set_nat)) (= B2 A))) (forall ((A (-> nat Bool)) (B2 (-> nat Bool)) (C (-> nat Bool))) (let ((_let_1 (ord_less_nat_o A))) (=> (_let_1 B2) (=> ((ord_less_nat_o B2) C) (_let_1 C))))) (forall ((X1 list_nat) (X2 list_nat) (P (-> list_nat list_nat Bool))) (=> ((ord_lexordp_eq_nat X1) X2) (=> (forall ((X_1 list_nat)) ((P nil_nat) X_1)) (=> (forall ((X nat) (Y4 nat) (Xs2 list_nat) (Ys2 list_nat)) (=> ((ord_less_nat X) Y4) ((P ((cons_nat X) Xs2)) ((cons_nat Y4) Ys2)))) (=> (forall ((X nat) (Y4 nat) (Xs2 list_nat) (Ys2 list_nat)) (=> (not ((ord_less_nat X) Y4)) (=> (not ((ord_less_nat Y4) X)) (=> ((ord_lexordp_eq_nat Xs2) Ys2) (=> ((P Xs2) Ys2) ((P ((cons_nat X) Xs2)) ((cons_nat Y4) Ys2))))))) ((P X1) X2)))))) (forall ((A nat) (F (-> nat nat)) (B2 nat) (C nat)) (let ((_let_1 (ord_less_nat A))) (=> (_let_1 (F B2)) (=> ((ord_less_nat B2) C) (=> (forall ((X nat) (Y4 nat)) (=> ((ord_less_nat X) Y4) ((ord_less_nat (F X)) (F Y4)))) (_let_1 (F C))))))) (= ord_less_set_nat (lambda ((B6 set_nat) (A3 set_nat)) (and (= A3 ((sup_sup_set_nat A3) B6)) (not (= A3 B6))))) (forall ((A nat) (B2 nat)) (=> ((ord_less_nat A) B2) (not ((ord_less_nat B2) A)))) (forall ((X1 nat) (Y1 nat)) (= (= (type_Mirabelle_TVar X1) (type_Mirabelle_TVar Y1)) (= X1 Y1))) (forall ((X3 nat) (Y nat)) (or ((ord_less_nat X3) Y) (= X3 Y) ((ord_less_nat Y) X3))) (forall ((X3 type_Mirabelle_typ) (Y type_Mirabelle_typ)) (= (((if_Typ1169047309le_typ true) X3) Y) X3)) (forall ((A (-> nat Bool)) (B2 (-> nat Bool)) (F (-> (-> nat Bool) set_nat)) (C set_nat)) (=> ((ord_less_nat_o A) B2) (=> (= (F B2) C) (=> (forall ((X (-> nat Bool)) (Y4 (-> nat Bool))) (=> ((ord_less_nat_o X) Y4) ((ord_less_set_nat (F X)) (F Y4)))) ((ord_less_set_nat (F A)) C))))) (forall ((X21 type_Mirabelle_typ) (X222 list_T1103309005le_typ) (Y21 type_Mirabelle_typ) (Y22 list_T1103309005le_typ)) (= (= ((cons_T363929085le_typ X21) X222) ((cons_T363929085le_typ Y21) Y22)) (and (= X222 Y22) (= X21 Y21)))) (forall ((A nat)) (not ((member_nat A) bot_bot_set_nat))) (= type_M1715972684le_typ (lambda ((F2 (-> nat type_Mirabelle_typ))) ((sup_sup_set_nat (type_Mirabelle_dom (lambda ((N3 nat)) (type_M1743451154le_typ (F2 (type_M1898948661at_nat N3)))))) (type_Mirabelle_cod (lambda ((N3 nat)) (type_M1743451154le_typ (F2 (type_M1898948661at_nat N3)))))))) (forall ((A1 list_set_nat) (A22 list_set_nat)) (=> ((ord_le727790544et_nat A1) A22) (=> (not (= A1 nil_set_nat)) (=> (forall ((X set_nat)) (=> (exists ((Xs2 list_set_nat)) (= A1 ((cons_set_nat X) Xs2))) (forall ((Y4 set_nat)) (=> (exists ((Ys2 list_set_nat)) (= A22 ((cons_set_nat Y4) Ys2))) (not ((ord_less_set_nat X) Y4)))))) (not (forall ((X set_nat) (Y4 set_nat) (Xs2 list_set_nat)) (=> (= A1 ((cons_set_nat X) Xs2)) (forall ((Ys2 list_set_nat)) (=> (= A22 ((cons_set_nat Y4) Ys2)) (=> (not ((ord_less_set_nat X) Y4)) (=> (not ((ord_less_set_nat Y4) X)) (not ((ord_le727790544et_nat Xs2) Ys2))))))))))))) (forall ((A nat) (A2 set_nat) (B2 nat) (B set_nat)) (let ((_let_1 (= A B2))) (=> (not ((member_nat A) A2)) (=> (not ((member_nat B2) B)) (= (= ((insert_nat A) A2) ((insert_nat B2) B)) (and (=> (not _let_1) (exists ((C2 set_nat)) (and (= A2 ((insert_nat B2) C2)) (not ((member_nat A) C2)) (= B ((insert_nat A) C2)) (not ((member_nat B2) C2))))) (=> _let_1 (= A2 B)))))))) (forall ((A nat)) (= (collect_nat ((lambda ((Y3 nat) (Z nat)) (= Y3 Z)) A)) ((insert_nat A) bot_bot_set_nat))) (forall ((A nat)) (= (collect_nat (lambda ((X4 nat)) (= X4 A))) ((insert_nat A) bot_bot_set_nat))) (forall ((A nat) (B2 nat) (F (-> nat set_nat)) (C set_nat)) (=> ((ord_less_nat A) B2) (=> ((ord_less_set_nat (F B2)) C) (=> (forall ((X nat) (Y4 nat)) (=> ((ord_less_nat X) Y4) ((ord_less_set_nat (F X)) (F Y4)))) ((ord_less_set_nat (F A)) C))))) (forall ((N2 nat) (X3 list_T1103309005le_typ) (L list_l1790670291le_typ)) (let ((_let_1 (type_M1826376056le_typ N2))) (= (_let_1 ((cons_l392684675le_typ X3) L)) (and ((type_M263553000le_typ N2) X3) (_let_1 L))))) (forall ((A1 list_nat) (A22 list_nat)) (=> ((ord_lexordp_eq_nat A1) A22) (=> (not (= A1 nil_nat)) (=> (forall ((X nat)) (=> (exists ((Xs2 list_nat)) (= A1 ((cons_nat X) Xs2))) (forall ((Y4 nat)) (=> (exists ((Ys2 list_nat)) (= A22 ((cons_nat Y4) Ys2))) (not ((ord_less_nat X) Y4)))))) (not (forall ((X nat) (Y4 nat) (Xs2 list_nat)) (=> (= A1 ((cons_nat X) Xs2)) (forall ((Ys2 list_nat)) (=> (= A22 ((cons_nat Y4) Ys2)) (=> (not ((ord_less_nat X) Y4)) (=> (not ((ord_less_nat Y4) X)) (not ((ord_lexordp_eq_nat Xs2) Ys2))))))))))))) _let_3 (forall ((B2 set_nat) (A set_nat)) (=> ((ord_less_set_nat B2) A) (not ((ord_less_set_nat A) B2)))) (forall ((B2 (-> nat Bool)) (A (-> nat Bool))) (=> ((ord_less_nat_o B2) A) (not ((ord_less_nat_o A) B2)))) (forall ((A set_nat) (B2 set_nat)) (= (= ((sup_sup_set_nat A) B2) bot_bot_set_nat) (and (= A bot_bot_set_nat) (= B2 bot_bot_set_nat)))) (forall ((A set_nat)) (not ((ord_less_set_nat A) A))) (forall ((A2 set_nat) (B set_nat) (C3 set_nat)) (let ((_let_1 (sup_sup_set_nat A2))) (= ((sup_sup_set_nat (_let_1 B)) C3) (_let_1 ((sup_sup_set_nat B) C3))))) (forall ((A set_nat) (B2 set_nat)) (=> ((ord_less_set_nat A) B2) (not (= A B2)))) (forall ((A set_nat)) (= (not (= A bot_bot_set_nat)) ((ord_less_set_nat bot_bot_set_nat) A))) (forall ((P (-> nat Bool))) (=> (exists ((X7 nat)) (and (forall ((Y4 nat)) (=> (P Y4) (= Y4 X7))) (P X7))) (P (the_nat P)))) (forall ((X3 nat) (Y nat) (A2 set_nat)) (let ((_let_1 (insert_nat X3))) (let ((_let_2 (insert_nat Y))) (= (_let_1 (_let_2 A2)) (_let_2 (_let_1 A2)))))) (forall ((A nat) (B2 nat)) (=> ((ord_less_nat A) B2) (not ((ord_less_nat B2) A)))) (forall ((A set_nat)) (= ((sup_sup_set_nat A) bot_bot_set_nat) A)) ((semila1414375521_nat_o sup_sup_nat_o) bot_bot_nat_o) (forall ((A (-> nat Bool)) (B2 (-> nat Bool))) (=> ((ord_less_nat_o A) B2) (not ((ord_less_nat_o B2) A)))) (= ord_less_nat (lambda ((B6 nat) (A3 nat)) (and (= A3 ((sup_sup_nat A3) B6)) (not (= A3 B6))))) (forall ((P (-> nat Bool)) (A nat)) (let ((_let_1 (P A))) (and (=> (not _let_1) (= (collect_nat (lambda ((X4 nat)) (and (P X4) (= A X4)))) bot_bot_set_nat)) (=> _let_1 (= (collect_nat (lambda ((X4 nat)) (and (P X4) (= A X4)))) ((insert_nat A) bot_bot_set_nat)))))) (forall ((P (-> nat Bool)) (A nat)) (=> (exists ((X7 nat)) (and (P X7) (forall ((Y4 nat)) (=> (P Y4) (= Y4 X7))))) (=> (P A) (= (the_nat P) A)))) (= insert_nat (lambda ((A3 nat) (__flatten_var_0 set_nat)) ((sup_sup_set_nat (collect_nat (lambda ((X4 nat)) (= X4 A3)))) __flatten_var_0))) (forall ((X3 nat)) (= (the_nat ((lambda ((Y3 nat) (Z nat)) (= Y3 Z)) X3)) X3)) (forall ((A nat)) (= (the_nat (lambda ((X4 nat)) (= X4 A))) A)) (forall ((N2 nat) (M nat)) (= ((type_M1211611096le_typ N2) (type_Mirabelle_TVar M)) ((ord_less_nat M) N2))) (forall ((A nat) (B set_nat) (B2 nat)) (let ((_let_1 (member_nat A))) (=> (=> (not (_let_1 B)) (= A B2)) (_let_1 ((insert_nat B2) B))))) (forall ((B2 nat) (A nat) (C nat)) (let ((_let_1 (ord_less_nat C))) (=> ((ord_less_nat B2) A) (=> (_let_1 B2) (_let_1 A))))) (= sup_sup_set_nat (lambda ((A4 set_nat) (B4 set_nat)) ((sup_sup_set_nat B4) A4))) (= bot_bot_nat_o (lambda ((X4 nat)) ((member_nat X4) bot_bot_set_nat))) (forall ((X3 set_nat) (Y set_nat)) (= (= ((sup_sup_set_nat X3) Y) bot_bot_set_nat) (and (= X3 bot_bot_set_nat) (= Y bot_bot_set_nat)))) (forall ((X21 type_Mirabelle_typ) (X222 type_Mirabelle_typ) (Y21 type_Mirabelle_typ) (Y22 type_Mirabelle_typ)) (= (= ((type_Mirabelle_Fun X21) X222) ((type_Mirabelle_Fun Y21) Y22)) (and (= X222 Y22) (= X21 Y21)))) (forall ((A (-> nat Bool)) (B2 (-> nat Bool)) (C (-> nat Bool))) (let ((_let_1 (ord_less_nat_o A))) (=> (_let_1 B2) (=> (= B2 C) (_let_1 C))))) (forall ((A nat) (A2 set_nat)) (=> ((member_nat A) A2) (exists ((B3 set_nat)) (and (not ((member_nat A) B3)) (= A2 ((insert_nat A) B3)))))) (forall ((X3 (-> nat Bool)) (Y (-> nat Bool))) (=> ((ord_less_nat_o X3) Y) (not (= Y X3)))) (forall ((A (-> nat Bool)) (B2 (-> nat Bool))) (= (= bot_bot_nat_o ((sup_sup_nat_o A) B2)) (and (= A bot_bot_nat_o) (= B2 bot_bot_nat_o)))) (forall ((N2 nat) (T1 type_M1694694083scheme) (T2 type_M1694694083scheme)) (let ((_let_1 (type_M1963061490scheme N2))) (= (_let_1 ((type_M155660035e_SFun T1) T2)) (and (_let_1 T1) (_let_1 T2))))) (forall ((A2 set_nat)) (= (forall ((X4 nat)) (not ((member_nat X4) A2))) (= A2 bot_bot_set_nat))) (forall ((A (-> nat Bool)) (B2 (-> nat Bool)) (C (-> nat Bool))) (=> (= A B2) (=> ((ord_less_nat_o B2) C) ((ord_less_nat_o A) C)))) (forall ((X3 set_nat) (Y set_nat)) (=> ((ord_less_set_nat X3) Y) (not (= X3 Y)))) (forall ((X3 list_T247403987scheme) (Xs list_l1334080099scheme)) (not (= ((cons_l1910959773scheme X3) Xs) Xs))) (= is_singleton_nat (lambda ((A4 set_nat)) (exists ((X4 nat)) (= A4 ((insert_nat X4) bot_bot_set_nat))))) (forall ((X3 (-> nat type_Mirabelle_typ)) (Xs list_n396811828le_typ)) (not (= ((cons_n499085924le_typ X3) Xs) Xs))) (forall ((X3 nat) (A2 set_nat) (B set_nat)) (let ((_let_1 (insert_nat X3))) (let ((_let_2 (member_nat X3))) (=> (not (_let_2 A2)) (=> (not (_let_2 B)) (= (= (_let_1 A2) (_let_1 B)) (= A2 B))))))) (forall ((N2 nat) (M nat)) (= ((type_M1963061490scheme N2) (type_M876316792e_FVar M)) ((ord_less_nat M) N2))) (forall ((X3 nat) (A2 set_nat) (B set_nat)) (let ((_let_1 ((insert_nat X3) bot_bot_set_nat))) (let ((_let_2 (= A2 _let_1))) (let ((_let_3 (= B _let_1))) (= (= _let_1 ((sup_sup_set_nat A2) B)) (or (and _let_3 (= A2 bot_bot_set_nat)) (and _let_3 _let_2) (and _let_2 (= B bot_bot_set_nat)))))))) (forall ((C nat) (B set_nat) (A2 set_nat)) (let ((_let_1 (member_nat C))) (=> (_let_1 B) (_let_1 ((sup_sup_set_nat A2) B))))) (forall ((P (-> nat nat Bool)) (A nat) (B2 nat)) (=> (forall ((A5 nat) (B5 nat)) (=> ((ord_less_nat A5) B5) ((P A5) B5))) (=> (forall ((A5 nat)) ((P A5) A5)) (=> (forall ((A5 nat) (B5 nat)) (=> ((P B5) A5) ((P A5) B5))) ((P A) B2))))) (forall ((A nat) (F (-> nat nat)) (B2 nat) (C nat)) (=> (= A (F B2)) (=> ((ord_less_nat B2) C) (=> (forall ((X nat) (Y4 nat)) (=> ((ord_less_nat X) Y4) ((ord_less_nat (F X)) (F Y4)))) ((ord_less_nat A) (F C)))))) (forall ((A nat) (B set_nat)) ((member_nat A) ((insert_nat A) B))) (forall ((P (-> nat Bool)) (A nat)) (=> (P A) (=> (forall ((X nat)) (=> (P X) (= X A))) (P (the_nat P))))) (forall ((X1 nat) (Y1 nat)) (= (= (type_M876316792e_FVar X1) (type_M876316792e_FVar Y1)) (= X1 Y1))) _let_2 (forall ((C nat) (A2 set_nat) (B set_nat)) (let ((_let_1 (member_nat C))) (= (_let_1 ((sup_sup_set_nat A2) B)) (or (_let_1 B) (_let_1 A2))))) (forall ((X1 nat) (X31 type_M1694694083scheme) (X32 type_M1694694083scheme)) (not (= (type_M876316792e_FVar X1) ((type_M155660035e_SFun X31) X32)))) (forall ((S (-> nat type_Mirabelle_typ)) (Sch1 type_M1694694083scheme) (Sch2 type_M1694694083scheme)) (let ((_let_1 (type_M1690910139scheme S))) (= (_let_1 ((type_M155660035e_SFun Sch1) Sch2)) ((type_M155660035e_SFun (_let_1 Sch1)) (_let_1 Sch2))))) (= ord_lexordp_eq_nat_o (lambda ((A12 list_nat_o) (A23 list_nat_o)) (or (exists ((Ys3 list_nat_o)) (and (= A12 nil_nat_o) (= A23 Ys3))) (exists ((X4 (-> nat Bool)) (Y6 (-> nat Bool)) (Xs3 list_nat_o) (Ys3 list_nat_o)) (and (= A12 ((cons_nat_o X4) Xs3)) (= A23 ((cons_nat_o Y6) Ys3)) (not ((ord_less_nat_o Y6) X4)) ((ord_lexordp_eq_nat_o Xs3) Ys3) (not ((ord_less_nat_o X4) Y6)))) (exists ((X4 (-> nat Bool)) (Y6 (-> nat Bool)) (Xs3 list_nat_o) (Ys3 list_nat_o)) (and (= A12 ((cons_nat_o X4) Xs3)) (= A23 ((cons_nat_o Y6) Ys3)) ((ord_less_nat_o X4) Y6)))))) (forall ((X3 (-> nat Bool))) (= ((sup_sup_nat_o X3) bot_bot_nat_o) X3)) (forall ((A (-> nat Bool)) (B2 (-> nat Bool)) (F (-> (-> nat Bool) set_nat)) (C set_nat)) (=> ((ord_less_nat_o A) B2) (=> ((ord_less_set_nat (F B2)) C) (=> (forall ((X (-> nat Bool)) (Y4 (-> nat Bool))) (=> ((ord_less_nat_o X) Y4) ((ord_less_set_nat (F X)) (F Y4)))) ((ord_less_set_nat (F A)) C))))) (= type_M2064939256scheme (lambda ((N3 nat) (Ts list_T247403987scheme)) (forall ((M2 nat)) (=> ((member_nat M2) (type_M141510067scheme Ts)) ((ord_less_nat M2) N3))))) (forall ((A set_nat) (B2 set_nat) (F (-> set_nat set_nat)) (C set_nat)) (=> ((ord_less_set_nat A) B2) (=> ((ord_less_set_nat (F B2)) C) (=> (forall ((X set_nat) (Y4 set_nat)) (=> ((ord_less_set_nat X) Y4) ((ord_less_set_nat (F X)) (F Y4)))) ((ord_less_set_nat (F A)) C))))) (forall ((A (-> nat Bool))) (not ((ord_less_nat_o A) bot_bot_nat_o))) (forall ((A nat)) (not ((ord_less_nat A) A))) (forall ((N2 nat)) ((type_M1734147655le_typ N2) type_M405566558_subst)) (forall ((A set_nat) (F (-> (-> nat Bool) set_nat)) (B2 (-> nat Bool)) (C (-> nat Bool))) (let ((_let_1 (ord_less_set_nat A))) (=> (_let_1 (F B2)) (=> ((ord_less_nat_o B2) C) (=> (forall ((X (-> nat Bool)) (Y4 (-> nat Bool))) (=> ((ord_less_nat_o X) Y4) ((ord_less_set_nat (F X)) (F Y4)))) (_let_1 (F C))))))) (forall ((X3 nat) (A2 set_nat)) (let ((_let_1 (insert_nat X3))) (let ((_let_2 (_let_1 A2))) (= (_let_1 _let_2) _let_2)))) (forall ((T type_Mirabelle_typ) (Sch1 type_M1694694083scheme) (Sch2 type_M1694694083scheme)) (=> (= (type_M1006385707scheme T) ((type_M155660035e_SFun Sch1) Sch2)) (exists ((T12 type_Mirabelle_typ) (T22 type_Mirabelle_typ)) (and (= Sch1 (type_M1006385707scheme T12)) (= Sch2 (type_M1006385707scheme T22)))))) (forall ((Y type_Mirabelle_typ)) (=> (forall ((X12 nat)) (not (= Y (type_Mirabelle_TVar X12)))) (not (forall ((X212 type_Mirabelle_typ) (X223 type_Mirabelle_typ)) (not (= Y ((type_Mirabelle_Fun X212) X223))))))) (forall ((M nat)) (= (type_M326705277scheme (type_M876316792e_FVar M)) bot_bot_set_nat)) (forall ((A set_nat) (B2 set_nat)) (=> ((ord_less_set_nat A) B2) (not ((ord_less_set_nat B2) A)))) (forall ((S (-> nat type_Mirabelle_typ)) (X3 (-> nat type_Mirabelle_typ)) (L list_n396811828le_typ)) (let ((_let_1 (type_M737052622le_typ S))) (= (_let_1 ((cons_n499085924le_typ X3) L)) ((cons_n499085924le_typ ((type_M1158474302le_typ S) X3)) (_let_1 L))))) (forall ((A (-> nat Bool)) (F (-> set_nat nat Bool)) (B2 set_nat) (C set_nat)) (let ((_let_1 (ord_less_nat_o A))) (=> (_let_1 (F B2)) (=> ((ord_less_set_nat B2) C) (=> (forall ((X set_nat) (Y4 set_nat)) (=> ((ord_less_set_nat X) Y4) ((ord_less_nat_o (F X)) (F Y4)))) (_let_1 (F C))))))) (forall ((A set_nat) (B2 set_nat) (F (-> set_nat nat)) (C nat)) (=> ((ord_less_set_nat A) B2) (=> (= (F B2) C) (=> (forall ((X set_nat) (Y4 set_nat)) (=> ((ord_less_set_nat X) Y4) ((ord_less_nat (F X)) (F Y4)))) ((ord_less_nat (F A)) C))))) (forall ((Sch type_M1694694083scheme) (S (-> nat type_Mirabelle_typ)) (S3 (-> nat type_Mirabelle_typ))) (=> (forall ((X nat)) (=> ((member_nat X) (type_M1050318637scheme Sch)) (= (S X) (S3 X)))) (= ((type_M1690910139scheme S) Sch) ((type_M1690910139scheme S3) Sch)))) (= the_elem_nat (lambda ((X6 set_nat)) (the_nat (lambda ((X4 nat)) (= X6 ((insert_nat X4) bot_bot_set_nat)))))) (forall ((C nat)) (not ((member_nat C) bot_bot_set_nat))) (forall ((X3 type_M1694694083scheme) (Xs list_T247403987scheme)) (not (= ((cons_T633159821scheme X3) Xs) Xs))) (forall ((T type_Mirabelle_typ) (S1 (-> nat type_Mirabelle_typ)) (S2 (-> nat type_Mirabelle_typ))) (=> (forall ((N nat)) (=> ((member_nat N) (type_M49385309le_typ T)) (= (S1 N) (S2 N)))) (= ((type_M784671311le_typ S1) T) ((type_M784671311le_typ S2) T)))) (forall ((X3 (-> nat Bool)) (Y (-> nat Bool)) (Xs list_nat_o) (Ys list_nat_o)) (=> ((ord_less_nat_o X3) Y) ((ord_lexordp_eq_nat_o ((cons_nat_o X3) Xs)) ((cons_nat_o Y) Ys)))) (= sup_sup_set_nat (lambda ((A4 set_nat) (B4 set_nat)) (collect_nat ((sup_sup_nat_o (lambda ((X4 nat)) ((member_nat X4) A4))) (lambda ((X4 nat)) ((member_nat X4) B4)))))) (= sup_sup_set_nat (lambda ((A4 set_nat) (B4 set_nat)) (collect_nat (lambda ((X4 nat)) (let ((_let_1 (member_nat X4))) (or (_let_1 B4) (_let_1 A4))))))) (forall ((A nat) (B2 nat) (F (-> nat set_nat)) (C set_nat)) (=> ((ord_less_nat A) B2) (=> (= (F B2) C) (=> (forall ((X nat) (Y4 nat)) (=> ((ord_less_nat X) Y4) ((ord_less_set_nat (F X)) (F Y4)))) ((ord_less_set_nat (F A)) C))))) (forall ((X3 (-> nat Bool)) (Xs list_nat_o) (Y (-> nat Bool)) (Ys list_nat_o)) (= ((ord_lexordp_eq_nat_o ((cons_nat_o X3) Xs)) ((cons_nat_o Y) Ys)) (or ((ord_less_nat_o X3) Y) (and (not ((ord_less_nat_o Y) X3)) ((ord_lexordp_eq_nat_o Xs) Ys))))) (forall ((X3 nat)) (is_singleton_nat ((insert_nat X3) bot_bot_set_nat))) (= type_M1211611096le_typ (lambda ((N3 nat) (Ts type_Mirabelle_typ)) (forall ((M2 nat)) (=> ((member_nat M2) (type_M49385309le_typ Ts)) ((ord_less_nat M2) N3))))) (forall ((A (-> nat Bool)) (B2 (-> nat Bool))) (=> ((ord_less_nat_o A) B2) (not ((ord_less_nat_o B2) A)))) (forall ((X3 nat) (Y nat)) (=> ((ord_less_nat X3) Y) (not (= Y X3)))) (forall ((Xs list_nat) (Ys list_nat) (Zs list_nat)) (let ((_let_1 (ord_lexordp_eq_nat Xs))) (=> (_let_1 Ys) (=> ((ord_lexordp_eq_nat Ys) Zs) (_let_1 Zs))))) (forall ((A2 set_nat) (P (-> nat Bool)) (Q Bool) (B set_nat)) (=> (=> (forall ((X7 nat)) (=> ((member_nat X7) A2) (P X7))) Q) (=> (forall ((X nat)) (=> ((member_nat X) ((sup_sup_set_nat A2) B)) (P X))) Q))) (= bot_bot_set_nat (collect_nat (lambda ((X4 nat)) false))) (forall ((N2 nat) (X3 (-> nat type_Mirabelle_typ)) (L list_n396811828le_typ)) (let ((_let_1 (type_M244876119le_typ N2))) (= (_let_1 ((cons_n499085924le_typ X3) L)) (and (_let_1 L) ((type_M1734147655le_typ N2) X3))))) (= (type_Mirabelle_dom type_M405566558_subst) bot_bot_set_nat) (forall ((N2 nat) (X3 type_M1694694083scheme) (L list_T247403987scheme)) (let ((_let_1 (type_M2064939256scheme N2))) (= (_let_1 ((cons_T633159821scheme X3) L)) (and (_let_1 L) ((type_M1963061490scheme N2) X3))))) ((semila1369944356et_nat sup_sup_set_nat) bot_bot_set_nat) (forall ((A (-> nat Bool))) (= (not (= A bot_bot_nat_o)) ((ord_less_nat_o bot_bot_nat_o) A))) (forall ((A nat) (F (-> set_nat nat)) (B2 set_nat) (C set_nat)) (=> (= A (F B2)) (=> ((ord_less_set_nat B2) C) (=> (forall ((X set_nat) (Y4 set_nat)) (=> ((ord_less_set_nat X) Y4) ((ord_less_nat (F X)) (F Y4)))) ((ord_less_nat A) (F C)))))) (forall ((A nat) (A2 set_nat)) (not (= ((insert_nat A) A2) bot_bot_set_nat))) (forall ((A2 set_nat)) (= ((sup_sup_set_nat A2) A2) A2)) (forall ((X3 set_nat)) (= ((sup_sup_set_nat X3) bot_bot_set_nat) X3)) (= type_M1377662078scheme (lambda ((N3 nat) (Ts list_l1334080099scheme)) (forall ((M2 nat)) (=> ((member_nat M2) (type_M1958029241scheme Ts)) ((ord_less_nat M2) N3))))) (forall ((A2 set_nat) (B set_nat) (C3 set_nat)) (let ((_let_1 (ord_less_set_nat A2))) (=> (_let_1 B) (=> ((ord_less_set_nat B) C3) (_let_1 C3))))) (forall ((S (-> nat type_Mirabelle_typ)) (X3 type_Mirabelle_typ) (L list_T1103309005le_typ)) (let ((_let_1 (type_M1440203487le_typ S))) (= (_let_1 ((cons_T363929085le_typ X3) L)) ((cons_T363929085le_typ ((type_M784671311le_typ S) X3)) (_let_1 L))))) (forall ((B2 set_nat) (A set_nat) (C set_nat)) (let ((_let_1 (ord_less_set_nat C))) (=> ((ord_less_set_nat B2) A) (=> (_let_1 B2) (_let_1 A))))) (forall ((C (-> nat Bool)) (A (-> nat Bool)) (B2 (-> nat Bool))) (let ((_let_1 (ord_less_nat_o C))) (=> (_let_1 A) (_let_1 ((sup_sup_nat_o A) B2))))) (forall ((S (-> nat type_Mirabelle_typ))) (= ((type_M1944210753scheme S) nil_Ty61485117scheme) nil_Ty61485117scheme)) (forall ((M nat)) (= (type_M1050318637scheme (type_M2048935292e_BVar M)) bot_bot_set_nat)) (forall ((P (-> nat Bool))) (= (= (collect_nat P) bot_bot_set_nat) (forall ((X4 nat)) (not (P X4))))) (forall ((X3 type_Mirabelle_typ) (Y type_Mirabelle_typ)) (= (((if_Typ1169047309le_typ false) X3) Y) Y)) (forall ((X2 nat) (Y2 nat)) (= (= (type_M2048935292e_BVar X2) (type_M2048935292e_BVar Y2)) (= X2 Y2))) (forall ((A2 set_nat) (B set_nat) (C nat)) (let ((_let_1 (member_nat C))) (=> ((ord_less_set_nat A2) B) (=> (_let_1 A2) (_let_1 B))))) (forall ((X3 set_nat) (A set_nat) (B2 set_nat)) (let ((_let_1 (ord_less_set_nat X3))) (=> (_let_1 A) (_let_1 ((sup_sup_set_nat A) B2))))) (forall ((X3 nat) (Xs list_nat)) (not (= ((cons_nat X3) Xs) Xs))) (forall ((X3 (-> nat Bool)) (Y (-> nat Bool))) (=> ((ord_less_nat_o X3) Y) (not ((ord_less_nat_o Y) X3)))) (forall ((X31 type_M1694694083scheme) (X32 type_M1694694083scheme) (Y31 type_M1694694083scheme) (Y32 type_M1694694083scheme)) (= (= ((type_M155660035e_SFun X31) X32) ((type_M155660035e_SFun Y31) Y32)) (and (= X31 Y31) (= X32 Y32)))) (forall ((X3 set_nat)) (= ((sup_sup_set_nat bot_bot_set_nat) X3) X3)) (forall ((Xs list_nat) (Ys list_nat)) (=> ((ord_lexordp_eq_nat Xs) Ys) (=> ((ord_lexordp_eq_nat Ys) Xs) (= Xs Ys)))) (forall ((X3 set_nat) (Y set_nat) (Xs list_set_nat) (Ys list_set_nat)) (=> ((ord_less_set_nat X3) Y) ((ord_le727790544et_nat ((cons_set_nat X3) Xs)) ((cons_set_nat Y) Ys)))) (= is_empty_nat (lambda ((A4 set_nat)) (= A4 bot_bot_set_nat))) (forall ((A (-> nat Bool)) (B2 (-> nat Bool)) (F (-> (-> nat Bool) nat Bool)) (C (-> nat Bool))) (=> ((ord_less_nat_o A) B2) (=> ((ord_less_nat_o (F B2)) C) (=> (forall ((X (-> nat Bool)) (Y4 (-> nat Bool))) (=> ((ord_less_nat_o X) Y4) ((ord_less_nat_o (F X)) (F Y4)))) ((ord_less_nat_o (F A)) C))))) (forall ((X3 set_nat) (Y set_nat) (Xs list_set_nat) (Ys list_set_nat)) (=> (not ((ord_less_set_nat X3) Y)) (=> (not ((ord_less_set_nat Y) X3)) (=> ((ord_le727790544et_nat Xs) Ys) ((ord_le727790544et_nat ((cons_set_nat X3) Xs)) ((cons_set_nat Y) Ys)))))) (forall ((A set_nat)) (= ((sup_sup_set_nat bot_bot_set_nat) A) A)) (forall ((A (-> nat Bool))) (not ((ord_less_nat_o A) A))) (forall ((A set_nat) (B2 set_nat)) (=> ((ord_less_set_nat A) B2) (not ((ord_less_set_nat B2) A)))) (= type_M1734147655le_typ (lambda ((N3 nat) (Ts (-> nat type_Mirabelle_typ))) (forall ((M2 nat)) (=> ((member_nat M2) (type_M1715972684le_typ Ts)) ((ord_less_nat M2) N3))))) (forall ((N2 nat) (Sch type_M1694694083scheme) (S (-> nat type_Mirabelle_typ)) (S3 (-> nat type_Mirabelle_typ))) (=> ((type_M1963061490scheme N2) Sch) (= ((type_M1690910139scheme (lambda ((K nat)) (((if_Typ1169047309le_typ ((ord_less_nat K) N2)) (S K)) (S3 K)))) Sch) ((type_M1690910139scheme S) Sch)))) (forall ((S (-> nat type_Mirabelle_typ)) (T1 type_Mirabelle_typ) (T2 type_Mirabelle_typ)) (let ((_let_1 (type_M784671311le_typ S))) (= (_let_1 ((type_Mirabelle_Fun T1) T2)) ((type_Mirabelle_Fun (_let_1 T1)) (_let_1 T2))))) (= (type_Mirabelle_cod type_M405566558_subst) bot_bot_set_nat) (forall ((A nat) (B2 nat) (A2 set_nat)) (let ((_let_1 (member_nat A))) (= (_let_1 ((insert_nat B2) A2)) (or (_let_1 A2) (= A B2))))) (forall ((X21 type_M1694694083scheme) (X222 list_T247403987scheme) (Y21 type_M1694694083scheme) (Y22 list_T247403987scheme)) (= (= ((cons_T633159821scheme X21) X222) ((cons_T633159821scheme Y21) Y22)) (and (= X21 Y21) (= X222 Y22)))) (forall ((X3 nat)) (= (the_elem_nat ((insert_nat X3) bot_bot_set_nat)) X3)) (= bot_bot_nat_o (lambda ((X4 nat)) bot_bot_o)) (forall ((A2 set_nat) (B set_nat)) (= (= ((sup_sup_set_nat A2) B) bot_bot_set_nat) (and (= B bot_bot_set_nat) (= A2 bot_bot_set_nat)))) (forall ((A set_nat)) (not ((ord_less_set_nat A) bot_bot_set_nat))) (forall ((B2 nat) (A nat)) (=> ((ord_less_nat B2) A) (not (= A B2)))) (forall ((C set_nat) (B2 set_nat) (A set_nat)) (let ((_let_1 (ord_less_set_nat C))) (=> (_let_1 B2) (_let_1 ((sup_sup_set_nat A) B2))))) (forall ((X3 type_Mirabelle_typ) (L list_T1103309005le_typ)) (= (type_M1539052445le_typ ((cons_T363929085le_typ X3) L)) ((sup_sup_set_nat (type_M801073677le_typ X3)) (type_M1539052445le_typ L)))) (forall ((N2 nat) (M nat)) ((type_M1963061490scheme N2) (type_M2048935292e_BVar M))) (forall ((A nat) (P (-> nat Bool))) (= ((insert_nat A) (collect_nat P)) (collect_nat (lambda ((U nat)) (=> (not (= U A)) (P U)))))) (forall ((P (-> nat Bool)) (A nat) (Q (-> nat Bool))) (=> (P A) (=> (forall ((X nat)) (=> (P X) (= X A))) (=> (forall ((X nat)) (=> (P X) (Q X))) (Q (the_nat P)))))) (forall ((X3 nat) (Y nat)) (=> ((ord_less_nat X3) Y) (not (= X3 Y)))) (forall ((A nat) (B2 nat) (C nat)) (let ((_let_1 (ord_less_nat A))) (=> (_let_1 B2) (=> ((ord_less_nat B2) C) (_let_1 C))))) (forall ((N2 nat) (X3 list_T247403987scheme) (L list_l1334080099scheme)) (let ((_let_1 (type_M1377662078scheme N2))) (= (_let_1 ((cons_l1910959773scheme X3) L)) (and ((type_M2064939256scheme N2) X3) (_let_1 L))))) (forall ((X3 set_nat) (Y set_nat)) (=> ((ord_less_set_nat X3) Y) (not ((ord_less_set_nat Y) X3)))) (= is_singleton_nat (lambda ((A4 set_nat)) (= A4 ((insert_nat (the_elem_nat A4)) bot_bot_set_nat)))) (forall ((X3 (-> nat type_Mirabelle_typ)) (L list_n396811828le_typ)) (= (type_M1691543772le_typ ((cons_n499085924le_typ X3) L)) ((sup_sup_set_nat (type_M1715972684le_typ X3)) (type_M1691543772le_typ L)))) (forall ((B2 (-> nat Bool)) (A (-> nat Bool))) (=> ((ord_less_nat_o B2) A) (not (= A B2)))) (forall ((X3 set_nat) (Y set_nat)) (=> ((ord_less_set_nat X3) Y) (not (= Y X3)))) (forall ((X3 (-> nat Bool)) (A (-> nat Bool)) (B2 (-> nat Bool))) (let ((_let_1 (ord_less_nat_o X3))) (=> (_let_1 A) (_let_1 ((sup_sup_nat_o A) B2))))) (forall ((X3 (-> nat Bool))) (not ((ord_less_nat_o X3) X3))) (forall ((C nat) (B set_nat) (A2 set_nat)) (let ((_let_1 (member_nat C))) (=> (=> (not (_let_1 B)) (_let_1 A2)) (_let_1 ((sup_sup_set_nat A2) B))))) (forall ((X3 set_nat) (Xs list_set_nat) (Y set_nat) (Ys list_set_nat)) (= ((ord_le727790544et_nat ((cons_set_nat X3) Xs)) ((cons_set_nat Y) Ys)) (or (and (not ((ord_less_set_nat Y) X3)) ((ord_le727790544et_nat Xs) Ys)) ((ord_less_set_nat X3) Y)))) (forall ((A set_nat) (B2 set_nat) (F (-> set_nat nat Bool)) (C (-> nat Bool))) (=> ((ord_less_set_nat A) B2) (=> ((ord_less_nat_o (F B2)) C) (=> (forall ((X set_nat) (Y4 set_nat)) (=> ((ord_less_set_nat X) Y4) ((ord_less_nat_o (F X)) (F Y4)))) ((ord_less_nat_o (F A)) C))))) (forall ((C set_nat) (A set_nat) (B2 set_nat)) (let ((_let_1 (ord_less_set_nat C))) (=> (_let_1 A) (_let_1 ((sup_sup_set_nat A) B2))))) (forall ((X3 (-> nat Bool)) (Y (-> nat Bool)) (Xs list_nat_o) (Ys list_nat_o)) (=> (not ((ord_less_nat_o X3) Y)) (=> (not ((ord_less_nat_o Y) X3)) (=> ((ord_lexordp_eq_nat_o Xs) Ys) ((ord_lexordp_eq_nat_o ((cons_nat_o X3) Xs)) ((cons_nat_o Y) Ys)))))) (forall ((X21 list_T247403987scheme) (X222 list_l1334080099scheme) (Y21 list_T247403987scheme) (Y22 list_l1334080099scheme)) (= (= ((cons_l1910959773scheme X21) X222) ((cons_l1910959773scheme Y21) Y22)) (and (= X222 Y22) (= X21 Y21)))) (forall ((C nat) (A2 set_nat) (B set_nat)) (let ((_let_1 (member_nat C))) (=> (_let_1 ((sup_sup_set_nat A2) B)) (=> (not (_let_1 A2)) (_let_1 B))))) (forall ((M nat)) (= (type_M1050318637scheme (type_M876316792e_FVar M)) ((insert_nat M) bot_bot_set_nat))) (forall ((X3 (-> nat Bool)) (Y (-> nat Bool))) (= (= ((sup_sup_nat_o X3) Y) bot_bot_nat_o) (and (= Y bot_bot_nat_o) (= X3 bot_bot_nat_o)))) (forall ((N2 nat) (X3 list_l1334080099scheme) (L list_l1704431731scheme)) (let ((_let_1 (type_M1172169604scheme N2))) (= (_let_1 ((cons_l531914285scheme X3) L)) (and ((type_M1377662078scheme N2) X3) (_let_1 L))))) (forall ((X3 set_nat) (Y set_nat) (Z2 set_nat)) (let ((_let_1 (ord_less_set_nat X3))) (=> (_let_1 Y) (=> ((ord_less_set_nat Y) Z2) (_let_1 Z2))))) (forall ((X2 nat) (X31 type_M1694694083scheme) (X32 type_M1694694083scheme)) (not (= (type_M2048935292e_BVar X2) ((type_M155660035e_SFun X31) X32)))) (forall ((Xs list_nat)) ((ord_lexordp_eq_nat Xs) Xs)) (forall ((A nat)) ((member_nat A) ((insert_nat A) bot_bot_set_nat))) (forall ((A2 set_nat) (B set_nat) (X3 nat)) (let ((_let_1 ((insert_nat X3) bot_bot_set_nat))) (let ((_let_2 (= A2 _let_1))) (let ((_let_3 (= B _let_1))) (= (= ((sup_sup_set_nat A2) B) _let_1) (or (and _let_3 (= A2 bot_bot_set_nat)) (and (= B bot_bot_set_nat) _let_2) (and _let_3 _let_2))))))) (forall ((C (-> nat Bool)) (B2 (-> nat Bool)) (A (-> nat Bool))) (let ((_let_1 (ord_less_nat_o C))) (=> (_let_1 B2) (_let_1 ((sup_sup_nat_o A) B2))))) (forall ((A set_nat) (B2 set_nat) (F (-> set_nat nat)) (C nat)) (=> ((ord_less_set_nat A) B2) (=> ((ord_less_nat (F B2)) C) (=> (forall ((X set_nat) (Y4 set_nat)) (=> ((ord_less_set_nat X) Y4) ((ord_less_nat (F X)) (F Y4)))) ((ord_less_nat (F A)) C))))) (= (type_M1715972684le_typ type_M405566558_subst) bot_bot_set_nat) (forall ((X3 nat) (Y nat)) (= (not (= X3 Y)) (or ((ord_less_nat X3) Y) ((ord_less_nat Y) X3)))) (forall ((A2 set_nat)) (=> (not (= A2 bot_bot_set_nat)) (=> (forall ((X nat) (Y4 nat)) (=> ((member_nat X) A2) (=> ((member_nat Y4) A2) (= X Y4)))) (is_singleton_nat A2)))) (forall ((B2 nat) (A nat)) (=> ((ord_less_nat B2) A) (not ((ord_less_nat A) B2)))) (forall ((A nat) (F (-> (-> nat Bool) nat)) (B2 (-> nat Bool)) (C (-> nat Bool))) (let ((_let_1 (ord_less_nat A))) (=> (_let_1 (F B2)) (=> ((ord_less_nat_o B2) C) (=> (forall ((X (-> nat Bool)) (Y4 (-> nat Bool))) (=> ((ord_less_nat_o X) Y4) ((ord_less_nat (F X)) (F Y4)))) (_let_1 (F C))))))) (forall ((X3 nat) (Y nat) (Z2 nat)) (let ((_let_1 (ord_less_nat X3))) (=> (_let_1 Y) (=> ((ord_less_nat Y) Z2) (_let_1 Z2))))) (forall ((A (-> nat Bool)) (B2 (-> nat Bool)) (F (-> (-> nat Bool) nat Bool)) (C (-> nat Bool))) (=> ((ord_less_nat_o A) B2) (=> (= (F B2) C) (=> (forall ((X (-> nat Bool)) (Y4 (-> nat Bool))) (=> ((ord_less_nat_o X) Y4) ((ord_less_nat_o (F X)) (F Y4)))) ((ord_less_nat_o (F A)) C))))) (forall ((P (-> nat Bool)) (Q (-> nat Bool))) (=> (exists ((X7 nat)) (and (forall ((Y4 nat)) (=> (P Y4) (= Y4 X7))) (P X7))) (=> (forall ((X nat)) (=> (P X) (Q X))) (Q (the_nat P))))) (forall ((A set_nat) (F (-> set_nat set_nat)) (B2 set_nat) (C set_nat)) (let ((_let_1 (ord_less_set_nat A))) (=> (_let_1 (F B2)) (=> ((ord_less_set_nat B2) C) (=> (forall ((X set_nat) (Y4 set_nat)) (=> ((ord_less_set_nat X) Y4) ((ord_less_set_nat (F X)) (F Y4)))) (_let_1 (F C))))))) (forall ((A nat) (B2 nat) (F (-> nat nat Bool)) (C (-> nat Bool))) (=> ((ord_less_nat A) B2) (=> ((ord_less_nat_o (F B2)) C) (=> (forall ((X nat) (Y4 nat)) (=> ((ord_less_nat X) Y4) ((ord_less_nat_o (F X)) (F Y4)))) ((ord_less_nat_o (F A)) C))))) (forall ((X3 nat) (A2 set_nat)) (=> ((member_nat X3) A2) (not (forall ((B3 set_nat)) (=> (= A2 ((insert_nat X3) B3)) ((member_nat X3) B3)))))) (forall ((X3 (-> nat Bool))) (= ((sup_sup_nat_o bot_bot_nat_o) X3) X3)) (forall ((A set_nat) (B2 set_nat) (F (-> set_nat set_nat)) (C set_nat)) (=> ((ord_less_set_nat A) B2) (=> (= (F B2) C) (=> (forall ((X set_nat) (Y4 set_nat)) (=> ((ord_less_set_nat X) Y4) ((ord_less_set_nat (F X)) (F Y4)))) ((ord_less_set_nat (F A)) C))))) (forall ((X3 nat) (Xs list_nat) (Y nat) (Ys list_nat)) (= ((ord_lexordp_eq_nat ((cons_nat X3) Xs)) ((cons_nat Y) Ys)) (or ((ord_less_nat X3) Y) (and (not ((ord_less_nat Y) X3)) ((ord_lexordp_eq_nat Xs) Ys))))) (forall ((B2 set_nat) (A set_nat)) (=> ((ord_less_set_nat B2) A) (not (= A B2)))) (forall ((A nat) (B set_nat) (C3 set_nat)) (let ((_let_1 (insert_nat A))) (= ((sup_sup_set_nat (_let_1 B)) C3) (_let_1 ((sup_sup_set_nat B) C3))))) (forall ((X3 type_M1694694083scheme) (L list_T247403987scheme)) (= (type_M141510067scheme ((cons_T633159821scheme X3) L)) ((sup_sup_set_nat (type_M1050318637scheme X3)) (type_M141510067scheme L)))) (forall ((A nat) (B2 nat) (A2 set_nat)) (let ((_let_1 (member_nat A))) (=> (_let_1 ((insert_nat B2) A2)) (=> (not (= A B2)) (_let_1 A2))))) (forall ((A nat) (B set_nat) (B2 nat)) (let ((_let_1 (member_nat A))) (=> (_let_1 B) (_let_1 ((insert_nat B2) B))))) (= (lambda ((P2 (-> nat Bool))) (exists ((X5 nat)) (P2 X5))) (lambda ((P3 (-> nat Bool))) (exists ((N3 nat)) (and (forall ((M2 nat)) (=> ((ord_less_nat M2) N3) (not (P3 M2)))) (P3 N3))))) (forall ((A nat) (B2 nat) (F (-> nat nat)) (C nat)) (=> ((ord_less_nat A) B2) (=> ((ord_less_nat (F B2)) C) (=> (forall ((X nat) (Y4 nat)) (=> ((ord_less_nat X) Y4) ((ord_less_nat (F X)) (F Y4)))) ((ord_less_nat (F A)) C))))) (forall ((X3 nat) (Y nat)) (=> (not (= X3 Y)) (=> (not ((ord_less_nat X3) Y)) ((ord_less_nat Y) X3)))) (forall ((A set_nat) (F (-> set_nat set_nat)) (B2 set_nat) (C set_nat)) (=> (= A (F B2)) (=> ((ord_less_set_nat B2) C) (=> (forall ((X set_nat) (Y4 set_nat)) (=> ((ord_less_set_nat X) Y4) ((ord_less_set_nat (F X)) (F Y4)))) ((ord_less_set_nat A) (F C)))))) (= bot_bot_set_nat (collect_nat bot_bot_nat_o)) (forall ((X3 nat) (Y nat) (Xs list_nat) (Ys list_nat)) (=> ((ord_less_nat X3) Y) ((ord_lexordp_eq_nat ((cons_nat X3) Xs)) ((cons_nat Y) Ys)))) (forall ((X3 nat) (Y nat)) (= (((if_nat true) X3) Y) X3)) (forall ((A2 list_T247403987scheme) (S (-> nat type_Mirabelle_typ)) (S3 (-> nat type_Mirabelle_typ))) (=> (forall ((X nat)) (=> ((member_nat X) (type_M141510067scheme A2)) (= (S X) (S3 X)))) (= ((type_M1944210753scheme S) A2) ((type_M1944210753scheme S3) A2)))) (forall ((S (-> nat type_Mirabelle_typ)) (X3 list_T1103309005le_typ) (L list_l1790670291le_typ)) (let ((_let_1 (type_M1913464047le_typ S))) (= (_let_1 ((cons_l392684675le_typ X3) L)) ((cons_l392684675le_typ ((type_M1440203487le_typ S) X3)) (_let_1 L))))) (= bot_bot_nat_o (lambda ((X4 nat)) bot_bot_o)) _let_1 (forall ((A set_nat) (F (-> (-> nat Bool) set_nat)) (B2 (-> nat Bool)) (C (-> nat Bool))) (=> (= A (F B2)) (=> ((ord_less_nat_o B2) C) (=> (forall ((X (-> nat Bool)) (Y4 (-> nat Bool))) (=> ((ord_less_nat_o X) Y4) ((ord_less_set_nat (F X)) (F Y4)))) ((ord_less_set_nat A) (F C)))))) (forall ((A2 set_nat) (A nat) (B set_nat)) (let ((_let_1 (sup_sup_set_nat A2))) (let ((_let_2 (insert_nat A))) (= (_let_1 (_let_2 B)) (_let_2 (_let_1 B)))))) (forall ((S (-> nat type_Mirabelle_typ)) (X3 type_M1694694083scheme) (L list_T247403987scheme)) (let ((_let_1 (type_M1944210753scheme S))) (= (_let_1 ((cons_T633159821scheme X3) L)) ((cons_T633159821scheme ((type_M1690910139scheme S) X3)) (_let_1 L))))) (forall ((S (-> nat type_Mirabelle_typ)) (T type_Mirabelle_typ)) (= ((type_M1690910139scheme S) (type_M1006385707scheme T)) (type_M1006385707scheme ((type_M784671311le_typ S) T)))) (forall ((B2 nat) (C nat) (A nat)) (=> ((ord_less_nat ((sup_sup_nat B2) C)) A) (not (=> ((ord_less_nat B2) A) (not ((ord_less_nat C) A)))))) (not false)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) 103.26/103.66 ) 103.26/103.66 % SZS output end Proof for theBenchmark 103.26/103.67 EOF